﻿using System.Collections.Generic;
using Sebrae.Academico.InfraEstrutura.Core.UnitOfWork;
using Sebrae.Academico.Trilhas.BM.Classes;
using Sebrae.Academico.Trilhas.Dominio.Classes;

namespace Sebrae.Academico.Trilhas.BP
{
    public class ManterItemTrilhaParticipacao : BusinessProcessBase
    {

        private BMItemTrilhaParticipacao itemTrilhaParticipacao;

        public ManterItemTrilhaParticipacao(IUnitOfWork pUnitOfWork)
            : base()
        {
            itemTrilhaParticipacao = new BMItemTrilhaParticipacao(unitOfWork);
        }

        public void IncluirItemTrilhaParticipacao(ItemTrilhaParticipacao pItemTrilhaParticipacao)
        {
            itemTrilhaParticipacao.ValidarInstancia(pItemTrilhaParticipacao);
            itemTrilhaParticipacao.IncluirItemTrilhaParticipacao(pItemTrilhaParticipacao);
        }

        public void AlterarItemTrilhaParticipacao(ItemTrilhaParticipacao pItemTrilhaParticipacao)
        {
            itemTrilhaParticipacao.ValidarInstancia(pItemTrilhaParticipacao);
            itemTrilhaParticipacao.AlterarItemTrilhaParticipacao(pItemTrilhaParticipacao);
        }

        public void ExcluirItemTrilhaParticipacao(ItemTrilhaParticipacao pItemTrilhaParticipacao)
        {
            itemTrilhaParticipacao.ValidarInstancia(pItemTrilhaParticipacao);
            itemTrilhaParticipacao.ExcluirItemTrilhaParticipacao(pItemTrilhaParticipacao);
        }

        public IList<ItemTrilhaParticipacao> ObterTodosItemTrilhaParticipacao()
        {
            return itemTrilhaParticipacao.ObterTodos();
        }

        public ItemTrilhaParticipacao ObterItemTrilhaParticipacaoPorID(int pId)
        {
            return itemTrilhaParticipacao.ObterItemTrilhaParticipacaoPorID(pId);
        }


    }
}
